繼續上一章資料處理 Python Pandas 好用的function - Part 1
#1. pd.to_datetime(df['Date']) /pd.date_range()/pd.to_timedelta
Pandas支援以下各種時間序列的轉換:
另一個有用的參數是"utc"(即utc= False )。這個參數用於控制與時區相關的轉換。如果設置_utc=True_,它將把所有時間轉換為UTC並解析混合時區的輸入。
pandas還具有生成日期序列的能力,支援以下頻率類型:
另一個有用的參數是"format"。你可以指定要將輸入轉換為的日期時間格式的類型。請參閱這裡以獲得可用格式的完整列表。
最後,"to_timedelta"是一個函數,它將將輸入轉換為絕對timedelta(例如天、小時、分鐘、秒)。以下是可以設置輸入的單位的列表:
Example
[In] date = '2023-09-26'
date = pd.to_datetime(date, format='%Y-%m-%d')
five_days_later = date + pd.to_timedelta(5, unit ='D')
print(five_days_later)
[Out] 2023-10-01 00:00:00
#2. pd.read_csv()
pd.read_csv() 此函數接受任何有效的字符串路徑。如果路徑不在與Python文件相同的文件夾中,則需要列出完整路徑(例如:C:/Users/t12334/downloads/sample.csv
)
有趣的是,您還可以使用pd.read_csv讀取包含2維數據(列和行)的url、tsv和txt文件。另一種讀取它的方法是使用read_table()函數。
[In] df=pd.read_csv('data.tsv', sep='\t')
它還可以傳遞一個參數"編碼",你可以在其中指定用於讀取所選文件的編碼。
另一個有用的參數是"標題",你可以輸入"1"以指示第1行包含標題。您甚至可以使用"usecols"選擇列,指定列標題。
如果有日期列,你也可以使用"parse_dates"參數提前指定它。
此函數包含許多有用的參數,可以幫助您立即整理數據。
[In]df = pd.read_csv('data/data_4.csv',
encoding = 'UTF-8',
headers = 1,
usecols: ['date', 'customer name', 'order no', 'sales amount'], parse_dates={ 'date': ['year', 'month', 'day'] })
#3. df.to_csv()
如果你需要將數據框輸出到 CSV 文件,可以使用此函數。
你可以使用 "sep" 參數指定要使用的分隔符。
所有其他參數都類似於 "read_csv",例如 "編碼"、'標題' 等。
一個關鍵參數是 "模式",你可以選擇以下選項:
[In]df.to_csv('data/data_4.csv', sep="'", mode='a')
#4. # df.describe()
這是選定數據集的強大快速分析工具。它會給你輸入的數據的基本統計資料,包括:
[In] df.describe()
[Out]
||A|B|C|D|
|---|---|---|---|---|
|count|6.000000|6.000000|6.000000|6.000000|
|mean|-0.287310|-0.556224|-0.636804|0.256646|
|std|0.868388|0.856621|1.054561|1.263056|
|min|-1.563473|-1.471748|-1.614128|-0.845678|
|25%|-0.718623|-1.026082|-1.196022|-0.504730|
|50%|-0.247366|-0.823316|-0.958137|-0.151107|
|75%|0.121759|-0.241730|-0.512879|0.503218|
|max|0.965253|0.922574|1.349356|2.589048|
#5. df.loc / df.iloc()
df.loc[] 是一個行列過濾函數,將返回滿足條件的行列。
[In] df.loc[df['A'] >0] # return rows in Column "A" where the values are larger than 0
[Out]
||A|B|C|D|
|---|---|---|---|---|
|2023-09-17|0.965253|-1.471748|1.349356|-0.150890|
|2023-09-18|0.176092|-1.062239|-1.614128|-0.845678|
df.iloc[] 是一個整數位置過濾工具,您可以使用整數位置(從 0 到長度)並選擇軸位置(行位置、列位置)
[In] df.iloc[2:5,1:3] # 3rd to 5th row and 2nd column to 3rd column selected
[Out]|
|B|C|
|---|---|---|
|2023-09-18|-1.062239|-1.614128|
|2023-09-19|-0.917610|-1.172997|
|2023-09-20|-0.729022|-0.436079|
Ref:
https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html#to-datetime-tz-examples
對 dbt 或 data 有興趣 ?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加